{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "d7781798-d853-4b2c-8894-ac32da854889",
   "metadata": {},
   "source": [
    "Chapter 11\n",
    "# 多图\n",
    "Book_6《数据有道》 | 鸢尾花书：从加减乘除到机器学习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "ca08f97a-9845-43f4-a162-bd5e061ad43d",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import networkx as nx"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "d3bd6453-6411-4b2d-99b2-e791d572410e",
   "metadata": {},
   "outputs": [],
   "source": [
    "Multi_G = nx.MultiGraph()\n",
    "# 多图对象shli"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "31761fc3-d8a8-4aee-9d93-da847862d724",
   "metadata": {},
   "outputs": [],
   "source": [
    "Multi_G.add_nodes_from(['a', 'b', 'c', 'd'])\n",
    "# 添加多个顶点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "3f7c10a0-a6f9-4b29-ae78-f92bff35d312",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0, 1, 0, 1, 0, 0, 0]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Multi_G.add_edges_from([('a','b'), # 平行边\n",
    "                        ('a','b'),\n",
    "                        ('a','c'), # 平行边\n",
    "                        ('a','c'),\n",
    "                        ('a','d'),\n",
    "                        ('b','d'),\n",
    "                        ('c','d')])\n",
    "# 添加多条边"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "4d256557-c7bf-4cbc-9e90-bda0daa24bfa",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('a', 'b', 0), ('a', 'b', 1), ('a', 'c', 0), ('a', 'c', 1), ('a', 'd', 0), ('b', 'd', 0), ('c', 'd', 0)]\n"
     ]
    }
   ],
   "source": [
    "print(Multi_G.edges)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "18a2dc86-248d-4d9e-a17f-c6acd0c4a3c2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 可视化\n",
    "plt.figure(figsize = (6,6))\n",
    "nx.draw_networkx(Multi_G, with_labels=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "3a38614f-48aa-43a0-a525-1031303e6b3f",
   "metadata": {},
   "outputs": [],
   "source": [
    "adjacency_matrix = nx.to_numpy_matrix(Multi_G)\n",
    "# 获得邻接矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "362eb36d-7850-4f4c-9201-e4d20a56ee3c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[0., 2., 2., 1.],\n",
       "        [2., 0., 0., 1.],\n",
       "        [2., 0., 0., 1.],\n",
       "        [1., 1., 1., 0.]])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "adjacency_matrix"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
